The traditional metaphor for execution of financial transactions in self-service terminals, such as automated banking machines (ABMs) or automated teller machines (ATMs), is a very simple one. Each financial transaction conducted on the self-service terminal (SST) includes three primary stages: (1) a selection stage, during which the user of the SST identifies the type of transaction to be executed; (2) a data-entry stage, in which the user provides key information required to carry out the transaction (e.g., an amount of cash to be withdrawn from a selected banking account); and (3) a fulfillment stage, in which the SST authorizes the transaction through a financial network and then completes the transaction (e.g., dispenses the requested amount of cash) for the user.
Each of the transaction types that are supported by the SST is atomic and is independent of any other type of transaction supported by the SST. As a result, traditional SSTs execute transactions in a sequential manner, even when a single user wishes to conduct multiple transactions in a single session, and even when the transactions are of the same type and involve the same user-interface module on the SST. For example, if a user wants to conduct two cash-dispense transactions from two separate banking accounts, the traditional SST treats the transactions as two atomic transactions, gathering data from the user about the first cash-dispense transaction and fulfilling that transaction (i.e., dispensing the requested cash) before it gathers any data from the user about the second cash-dispense transaction.
This simple transaction metaphor, for the most part, has been sufficient for the types of transactions offered by SSTs up to now. However, as the customers of financial institutions become more sophisticated, the institutions are being pushed to provide ever-more complex services on SSTs, services that are typically very difficult, if not impossible, to provide on traditional SSTs.